package com.fallwings.Service;

import com.fallwings.Dao.UserDao;
import com.fallwings.Dao.UserDao;
import com.fallwings.domain.User;
import com.fallwings.domain.UserInfo;
import org.springframework.stereotype.Service;
import org.springframework.transaction.annotation.Transactional;

import javax.annotation.Resource;
import java.util.HashMap;
import java.util.Map;


/**
 *
 * Created by Killer on 2015/12/16.
 */
@Service("userService")
@Transactional
public class UserService implements IUserService {
    @Resource()
    private UserDao userDao;
    public User checkUser(User user){
        return userDao.checkUser(user);

    }
    public User userCheck(User user){
        return userDao.userCheck(user);

    }
    /**
     * 用户注册事务
     * @param user 用户实体对象
     * @return  返回账号是否存在布尔值
     */
    @Override
    public boolean register(User user) {
        userDao.addUser(user);
        return true;
    }

    /**
     * 修改用户密码事务
     * @param user 需要修改密码的用户对象
     * @return 返回是否成功布尔值
     */
    public boolean updatePassword(User user){
        return userDao.updateUserpassword(user);
    }

    /**
     * 修改用户信息事务
     * @param userInfo 用户信息对象
     * @return 返回是否成功
     */
    public boolean updateUserinfo(UserInfo userInfo){
        return userDao.updateUserinfo(userInfo);
    }

    /**
     * 修改用户权限事务
     * @param user 用户对象
     */
    public boolean updateRoot(User user){
        return userDao.updateRoot(user);
    }

    /**
     * 修改用户积分事务
     * @param user 用户对象
     */
    public boolean updateIntegral(User user){
        return userDao.updateIntegral(user);
    }

    /**
     * 添加用户信息事务
     * @param userInfo 用户信息对象
     */
    public boolean addUserinfo(UserInfo userInfo,User user){
        Map<String,Object> map=new HashMap<String,Object>();
        map.put("userInfo",userInfo);
        map.put("user",user);
        return userDao.addUserinfo(map);
    }

    /**
     * 查询用户信息事务
     * @param user 用户对象
     * @return 返回用户信息对象
     */
    @Override
    public UserInfo selectUserinfo(User user) {
        return userDao.selectUserinfo(user);
    }



}
